#include "mylineedit.h"

myLineEdit::myLineEdit(QWidget* parent)
    :QLineEdit(parent)
{

}

void myLineEdit::keyPressEvent(QKeyEvent *event)
{
    qDebug() << "myLineEdit key press event!!";
    // 如果需要让按键按下能输入内容，需要调用一下基类的PressEvent
    QLineEdit::keyPressEvent(event);
    event->ignore(); // 调用了这个接口，就会将事件继续往父节点上抛

}

// 重写event方法，event方法的优先级更高，事件过滤系统会优先调用event函数，然后才会去调用具体的
bool myLineEdit::event(QEvent *pevent)
{
    // 判断事件类型
    if (pevent->type() == QEvent::KeyPress) {
        qDebug() << "myLineEdit event!!";
//        return true; // 如果返回true就不会交给其他事件处理,表示已经处理好了
        // 如果需要交给更远一级的事件处理就需要返回false
        // return false;
    }
    // 逻辑就相当于我们只重写了按键类型事件，其他类型事件就交给基类处理
    // 如果不是按键类型，千万要调用QLineEdit::evnet();
    return QLineEdit::event(pevent);

}
